skytraq: add doc for new option gps-week-rollover
authorMathias Adam <m.adam-github@adamis.de>
Sun, 20 Jan 2019 20:00:31 +0000 (21:00 +0100)
committerMathias Adam <mathias@alpha.inft.de>
Mon, 4 Feb 2019 11:02:31 +0000 (12:02 +0100)
skytraq.cc
xmldoc/formats/options/skytraq-bin-gps-week-rollover.xml [new file with mode: 0644]
xmldoc/formats/options/skytraq-gps-week-rollover.xml [new file with mode: 0644]

index ffa5b5459f5c8c024c3c91af1ec7c665b6603d55..d86fcb04c0ac124bb6352bc36c7a924927e45bd4 100644 (file)
@@ -119,7 +119,7 @@ arglist_t skytraq_args[] = {
     "0", ARGTYPE_INT, ARG_NOMINMAX, nullptr
   },
   {
-    "gps-week-rollover", &opt_gps_week_rollover, "GPS week rollover period we're in (<0: best guess)",
+    "gps-week-rollover", &opt_gps_week_rollover, "GPS week rollover period we're in (-1: best guess)",
     "-1", ARGTYPE_INT, ARG_NOMINMAX, nullptr
   },
   ARG_TERMINATOR,
@@ -140,7 +140,7 @@ arglist_t skytraq_fargs[] = {
     "0", ARGTYPE_INT, ARG_NOMINMAX, nullptr
   },
   {
-    "gps-week-rollover", &opt_gps_week_rollover, "GPS week rollover period we're in (<0: best guess)",
+    "gps-week-rollover", &opt_gps_week_rollover, "GPS week rollover period we're in (-1: best guess)",
     "-1", ARGTYPE_INT, ARG_NOMINMAX, nullptr
   },
   ARG_TERMINATOR
@@ -606,7 +606,7 @@ gpstime_to_timet(int week, int sec)
 
   int week_rollover = atoi(opt_gps_week_rollover);
   if (week_rollover < 0) {
-    int current_week = (time(NULL)-gps_timet)/(7*SECONDS_PER_DAY);
+    int current_week = (time(nullptr)-gps_timet)/(7*SECONDS_PER_DAY);
     week_rollover = current_week/1024 - (week > current_week%1024 ? 1 : 0);
   }
   gps_timet += (week+week_rollover*1024)*7*SECONDS_PER_DAY + sec;
diff --git a/xmldoc/formats/options/skytraq-bin-gps-week-rollover.xml b/xmldoc/formats/options/skytraq-bin-gps-week-rollover.xml
new file mode 100644 (file)
index 0000000..8b13789
--- /dev/null
@@ -0,0 +1 @@
+
diff --git a/xmldoc/formats/options/skytraq-gps-week-rollover.xml b/xmldoc/formats/options/skytraq-gps-week-rollover.xml
new file mode 100644 (file)
index 0000000..9cb344d
--- /dev/null
@@ -0,0 +1,46 @@
+<para>
+gps-week-rollover is used to override the best-guessing of GPS week rollover period
+we're currently in: skytraq log data contains dates in the form of GPS weeks,
+which roll over to 0 every 1024 weeks (close to 20 years).
+</para>
+
+<table id="gps_week_rollovers">
+<title>GPS week rollover dates</title>
+<tgroup cols="2">
+<thead>
+<row>
+ <entry>Starting from:</entry>
+ <entry>gps-week-rollover value:</entry> 
+</row>
+</thead>
+<tbody>
+<row>
+  <entry>1980-01-06 00:00:00 UTC</entry>
+  <entry>0</entry>
+</row>
+<row>
+  <entry>1999-08-21 23:59:47 UTC</entry>
+  <entry>1</entry>
+</row>
+<row>
+  <entry>2019-04-06 23:59:42 UTC</entry>
+  <entry>2</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+
+<para>
+The default behaviour when gps-week-rollover isn't given (or is a negative number)
+is to assume the input data has been logged within the preceding 1024 weeks from the
+time gpsbabel is run, which should be perfectly fine in almost all cases.
+</para>
+
+<para>
+The following example:
+<screen>
+<command>gpsbabel</command> -i skytraq.bin,gps-week-rollover=1 -f <replaceable>filename.bin</replaceable>
+</screen>
+
+indicates that logged data is assumed to be from the period between 21/22 Aug 1999 and 6/7 April 2019.
+</para>